//package com.sunlands.zlcx.usercenter.util;
//
//import com.aliyun.oss.OSSClient;
//import com.google.common.base.Joiner;
//import com.sunlands.zlcx.usercenter.config.OssConfig;
//import lombok.extern.slf4j.Slf4j;
//import org.apache.commons.lang.StringUtils;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.data.util.Pair;
//import org.springframework.stereotype.Component;
//import org.springframework.web.multipart.MultipartFile;
//
//import java.io.InputStream;
//import java.text.DecimalFormat;
//import java.util.Date;
//
///**
// * DES :
// * 上传文件的工具类
// */
//@Component
//@Slf4j
//public class UploadAliyunUtil {
//
//    @Autowired
//    private OSSClient ossClient;
//    @Autowired
//    private OssConfig ossConfig;
//
//    DecimalFormat decimalFormat = new DecimalFormat("0.00");
//
//    /**
//     * 公共上传图片
//     * 举例：
//     * modelPath：主目录
//     * subModelPath：子目录
//     * modelPath：主目录
//     * needResize：img
//     */
//    public Pair<String, String> uploadOssFile(MultipartFile file, String modelPath, String subModelPath, boolean needResize) {
//
//        if (file != null) {
//            try {
//                // 获取图片后缀名
//                String resultSuffix = "";
//                String originalFileName = file.getOriginalFilename();
//                if (StringUtils.isNotBlank(originalFileName)) {
//                    int start = originalFileName.lastIndexOf(".");
//                    start = start == -1 ? 0 : start;
//                    String suffix = originalFileName.substring(start, originalFileName.length());
//                    resultSuffix = suffix.startsWith(".") ? suffix : "." + suffix;
//                }
//                resultSuffix = StringUtils.isBlank(resultSuffix) ? ".jpg" : resultSuffix;
//
//                // 存储路径 格式 /img/yyyy/mmdd/
//                String uploadRealPathDir = Joiner.on("/").join(modelPath, subModelPath, CalendarUtil.getDateString(new Date(),CalendarUtil.SHORT_DATA_FORMAT_YYYY_MMDD).concat("/"));
//                String localUploadFilePath = uploadRealPathDir + CalendarUtil.getDateString(new Date(),CalendarUtil.SIMPLE_DATE_FORMAT_NO_DASH) + resultSuffix;
//                //上传到ali oss
//                InputStream inputStream = file.getInputStream();
//
//                ossClient.putObject(ossConfig.getOssBucketName(),localUploadFilePath,inputStream);
//
//                String imgPath = ossConfig.getImgDomain() + "/" + localUploadFilePath;
//                if(needResize){
//                    try{
//                        Long imageOriginSize = file.getSize();
//                        log.info("imgPath:[{}], imageOriginSize:{}", imgPath, imageOriginSize);
//                        if(ossConfig.getUploadImgMaxSize()<imageOriginSize){
//                            log.info("resize to uploadImgMaxSize for {}", imgPath);
//                            String percent = decimalFormat.format((float)ossConfig.getUploadImgMaxSize()/imageOriginSize);
//                            int intPercent = Integer.parseInt(percent.substring(percent.indexOf(".")+1, percent.indexOf(".")+3));
//                            imgPath = imgPath + "?" + ossConfig.getImgResizePathParam() + intPercent;
//                        }
//                    }catch (Exception e){
//                        log.error("上传图片Resize报错，{}", e);
//                    }
//                }
//
//                return Pair.of(imgPath, localUploadFilePath);
//
//            } catch (Exception e) {
//                log.error("上传图片报错，{}", e);
//                return null;
//            }
//        } else {
//            return null;
//        }
//    }
//
//
//    public void delete(String localUploadFilePath){
//        ossClient.deleteObject(ossConfig.getOssBucketName(), localUploadFilePath);
//    }
//
//}
